Relatórios e apresentações automáticas

Sobre a Curso-R

A empresa

Sobre o curso

Relatórios e apresentações automáticas

Ilustração por Allison Horst.

Artwork from “Hello, Quarto” keynote by Julia Lowndes and Mine Çetinkaya-Rundel, presented at RStudio Conference 2022. Illustrated by Allison Horst.

Resultados

No final, você poderá…

  • Criar documentos reprodutíveis (como relatórios e apresentações)

  • Compartilhar suas análises usando R em todas as etapas do ciclo da ciência de dados

Ilustração por Allison Horst.

Dinâmica

  • Exercícios para casa, com entrega facultativa

  • Trabalho final, com entrega obrigatória

    • As pessoas que fizerem os trabalhos mais legais receberão uma bolsa para fazer qualquer curso da Curso-R
    • Mais detalhes sobre o trabalho final nas próximas aulas :)

Tirando dúvidas

  • Não existe dúvida idiota.

  • Nem sempre é trivial fazer a pergunta certa para que outra pessoa esclareça a sua dúvida. Neste curso, vamos mostrar melhores práticas na hora de fazer perguntas sobre programação.

  • Fora do horário de aula ou monitoria:

    • perguntas gerais sobre o curso deverão ser feitas no Classroom.
    • perguntas sobre R, principalmente as que envolverem código, deverão ser enviadas no nosso discourse. Se envolver web scraping, é importante especificar a página que está querendo acessar e como você faria para encontrá-la manualmente.
  • Veja aqui dicas de como fazer uma boa pergunta.

Por que usar o discourse?

  • Muito melhor para escrever textos que possuem códigos. Com ele, podemos usar o pacote {reprex}!

  • Saber pesquisar sobre erros e fazer a pergunta certa é essencial para aprender e resolver problemas de programação.

  • No discourse, teremos mais pessoas acompanhando e respondendo as dúvidas.

  • Em um ambiente aberto, as suas dúvidas vão contribuir com a comunidade.

https://discourse.curso-r.com/

Trabalho final

Trabalho final

  • Neste curso, utilizaremos uma base de dados para criar um produto para comunicar uma análise de dados (relatório, apresentação, site, etc).

  • O trabalho final de vocês será criar um também!

    • Escolha uma base de dados que você ache interessante!

    • Defina um objetivo da análise.

    • Defina um público alvo: a comunicação depende de quem vai ver.

    • Defina qual formato você quer gerar.

    • Faça sua análise depois de cada aula, será possível avançar no trabalho. Tragam dúvidas nas monitorias. Isso será a tarefa semanal de vocês. Também teremos leituras adicionais.

    • Entrega: Uma pasta com o projeto .Rproj, o código da análise (em .qmd), o arquivo final (seja PDF, HTML, Word, etc), e quaisquer outros arquivos necessários. Se quiser, deixe em um repositório público no GitHub e envie o link.

  • Pontos de avaliação: Reprodutibilidade, efetividade da comunicação, atributos estéticos, engajamento na leitura.

Introdução ao RMarkdown

O que é RMarkdown?

  • O R Markdown é um pacote para criação de relatórios automatizados utilizando as linguagens de programação R e de marcação Markdown.

Linguagens de marcação utilizam marcadores (símbolos, tags, funções) para formatar um arquivo de texto simples. Os exemplos mais famosos de linguagem de marcação são o HTML e LaTeX.

  • A linguagem de marcação Markdown serve para construirmos e formatarmos diversos formatos de arquivos (PDF, HTML, Word, entre outros) a partir de um arquivo de texto com regras bem simples.

  • O RMarkdown é uma extensão de Markdown que nos permite colocar código de R.

Algumas aplicações

Algumas aplicações

Nova geração: Quarto

O RMarkdown não deixará de existir, mas hoje temos uma alternativa mais poderosa, chamada Quarto.

Para pessoas que usam R, a vantagem do Quarto é apenas ter algumas facilidades a mais (como autocomplete de parâmetros no RStudio) e novos templates.

No entanto, por ser um software independente de R, o Quarto exporta todas as qualidades do RMarkdown para outras linguagens, especialmente Python, Julia e JavaScript.

Na aula de hoje, mostraremos exemplos em RMarkdown e Quarto. A partir da segunda aula, utilizaremos apenas Quarto.

Estrutura

Todo arquivo RMarkdown/Quarto terá a seguinte estrutura:

  • Um preâmbulo com configurações
---
title: "Relatório maravilhoso"
*output: html_document
---
  • Blocos de texto (marcados em Markdown)
*Texto em __RMarkdown/Quarto__!
  • Blocos de código (em R ou outra linguagem)
```{r}
*print("ola, codigo R")
```

Dependendo do formato de saída, o documento pode precisar ser dividido em vários arquivos ou precisar de arquivos adicionais.

Sintaxe Markdown

Utilizamos Markdown para marcar os textos do relatório.

Principais marcadores utilizados para formatar texto:

  • uma palavra entre asteriscos fica em itálico: *texto* é transformado em texto

  • uma palavra entre dois asteríscos fica em negrito: **texto** é transformado em texto

  • um ou mais hashtags viram títulos: # Título muito grande, ## Título grande, ### Título médio, #### Título pequeno, ##### Título muito pequeno

  • hiperlinks podem ser criados com a estrutura [texto](link):

  • [link para o site da Curso-R](https://curso-r.com) é transformado em link para o site da Curso-R.

  • para deixar o texto com esse formato (formato de código), apenas coloque o texto entre duas crases.

Material de consulta: Livro: Ciência de Dados em R - Seção sobre Markdown

Visual Editor

  • As versões mais recentes do RStudio permitem usar o Visual Editor.

Leitura indicada:

Fonte: RStudio

Chunks - Campos de código

  • Em um arquivo .qmd ou .Rmd, precisamos escrever nossos códigos dentro dos chunks. Para inserir um chunk, utilize o atalho CTRL + ALT + I.

  • É possível adicionar campos de código utilizando a seguinte sintaxe:

```{r}
codigo em R aqui
```
  • Dentro dos chunks você poderá escrever códigos em R como se fosse o nosso script .R tradicional.

Material de consulta: Livro: Ciência de Dados em R - Seção sobre R Markdown

YAML

  • Os arquivos .qmd ou .Rmd começam com códigos em yaml/yml.

  • Esse “bloco” de código é delimitado por ---.

  • Apresenta metadados e parâmetros utilizados para gerar o documento final.

---
title: "Relatórios automáticos"
subtitle: "O poder do RMarkdown"
author: "Curso-R"
date: "Março de 2021"
output: xaringan::moon_reader
---

Knit!

  • Para gerarmos o relatório na extensão desejada, precisamos renderizá-lo, isto é, transformar o arquivo .qmd ou .Rmd em um PDF, HTML ou Word.

  • Isso pode ser feito no RStudio a partir dos botões Knit (.Rmd) ou Render (.qmd), que fica logo acima do script, ou pelo atalho CTRL + SHIFT + K.

O que acabamos de fazer

Fontr: Blog do Yihui Xie

Fonte: quarto.org

Principais saídas

Ilustração por Allison Horst

Relatórios (.Rmd)

HTML

output: html_document

Word (.docx)

output: word_document

Relatórios (.qmd)

HTML

format: html

Word (.docx)

format: docx

Relatórios (.Rmd)

PDF (com \(\TeX\))

output: pdf_document

Caso não tenha o \(\TeX\):

tinytex::install_tinytex()

Relatórios (.qmd)

PDF (com \(\TeX\))

format: pdf

Caso não tenha o \(\TeX\):

tinytex::install_tinytex()

Relatórios

PDF com o pacote Pagedown

output: html_document
knit: pagedown::chrome_print

Ou utilize a função pagedown::chrome_print() em um relatório em HTML:

pagedown::chrome_print("relatorio.html")

Obs: Por enquanto não existe uma alternativa Quarto a isso.

Apresentações (.Rmd)

  • Powerpoint
output: powerpoint_presentation
  • HTML
output: xaringan::moon_reader

Apresentações (.qmd)

  • Powerpoint
format: pptx
  • HTML
format: revealjs

Resumo

  • Podemos escrever arquivos com código, resultados, textos, imagens, etc.

  • O mesmo conteúdo pode ser disponibilizado em diferentes tipos de saída.

  • Nos metadados (yaml) do arquivo .Rmd ou .qmd, definimos a saída no parâmetro output.

  • Mais saídas e comparação completa: